package net.alan.modules.service;

import net.alan.modules.bean.Chat;
import net.alan.modules.bean.ChatItem;
import net.alan.modules.bean.PageModel;
import org.springframework.data.domain.Page;

import java.util.List;

/**
 * Author 李岩飞
 * Email eliyanfei@126.com
 * 2017/11/21
 */
public interface IChatService extends IBaseService {
    /**
     * 根据用户获取聊天对象
     *
     * @param userId
     * @return
     */
    List<Chat> findChatByUserId(Integer projectId, Integer userId);

    /**
     * 获取未读的聊天记录
     *
     * @param userId
     * @return
     */
    List<Chat> listUnreadChat(Integer userId);

    /**
     * 根据聊天对象获取聊天记录
     *
     * @param chatId
     * @param pageModel
     * @return
     */
    Page<ChatItem> findChatItemByChatId(Integer chatId, PageModel pageModel);

    /**
     * 获取对方的聊天对象
     */
    Chat getOtherChat(Integer projectId, Integer userId, Integer toUserId);

    /**
     * 删除和我相关的聊天
     */
    void deleteChatByUserId(Integer projectId, Integer userId);
}

